import { login } from '@/api/login'//引入登录 api 接口
import { getData } from '@/api/login'//引入登录 api 接口
import {getHotData, deleteData, getTimeData, postNote, postReply} from '@/api/Posts'

const user = {
    actions: {
        // 登录
        Login({ commit }, userInfo) { //定义 Login 方法，在组件中使用 this.$store.dispatch("Login") 调用
            const username = userInfo.username.trim()
            return new Promise((resolve, reject) => { //封装一个 Promise
                login(username, userInfo.password).then(response => { //使用 login 接口进行网络请求
                    commit('') //提交一个 mutation，通知状态改变
                    resolve(response) //将结果封装进 Promise
                }).catch(error => {
                    reject(error)
                })
            })
        },
        GetData({ commit }, pid) { //定义 Login 方法，在组件中使用 this.$store.dispatch("Login") 调用
            //const username = userInfo.username.trim()
            return new Promise((resolve, reject) => { //封装一个 Promise
                getData(pid).then(response => { //使用 login 接口进行网络请求
                    commit('') //提交一个 mutation，通知状态改变
                    resolve(response) //将结果封装进 Promise
                }).catch(error => {
                    reject(error)
                })
            })
        },
        GetHotData({ commit },) { //定义 Login 方法，在组件中使用 this.$store.dispatch("Login") 调用
            return new Promise((resolve, reject) => { //封装一个 Promise
                getHotData().then(response => { //使用 login 接口进行网络请求
                    commit('') //提交一个 mutation，通知状态改变
                    resolve(response) //将结果封装进 Promise
                }).catch(error => {
                    reject(error)
                })
            })
        },
        GetTimeData({ commit }, userInfo) { //定义 Login 方法，在组件中使用 this.$store.dispatch("Login") 调用
            const username = userInfo.username.trim()
            return new Promise((resolve, reject) => { //封装一个 Promise
                getTimeData(username, userInfo.password).then(response => { //使用 login 接口进行网络请求
                    commit('') //提交一个 mutation，通知状态改变
                    resolve(response) //将结果封装进 Promise
                }).catch(error => {
                    reject(error)
                })
            })
        },
        DeleteData({ commit }, userInfo) { //定义 Login 方法，在组件中使用 this.$store.dispatch("Login") 调用
            return new Promise((resolve, reject) => { //封装一个 Promise
                deleteData(userInfo.deletepid, userInfo.username).then(response => { //使用 login 接口进行网络请求
                    commit('') //提交一个 mutation，通知状态改变
                    resolve(response) //将结果封装进 Promise
                }).catch(error => {
                    reject(error)
                })
            })
        },
        GetDataDetails({ commit }, userInfo) { //定义 Login 方法，在组件中使用 this.$store.dispatch("Login") 调用
            const username = userInfo.username.trim()
            return new Promise((resolve, reject) => { //封装一个 Promise
                getData(username, userInfo.password).then(response => { //使用 login 接口进行网络请求
                    commit('') //提交一个 mutation，通知状态改变
                    resolve(response) //将结果封装进 Promise
                }).catch(error => {
                    reject(error)
                })
            })
        },
        PostNote({ commit }, userInfo) { //定义 Login 方法，在组件中使用 this.$store.dispatch("Login") 调用
            const username = userInfo.username.trim()
            const title = userInfo.title.trim()
            const content = userInfo.content.trim()
            return new Promise((resolve, reject) => { //封装一个 Promise
                postNote(username, title, content).then(response => { //使用 login 接口进行网络请求
                    commit('') //提交一个 mutation，通知状态改变
                    resolve(response) //将结果封装进 Promise
                }).catch(error => {
                    reject(error)
                })
            })
        },
        PostReply({ commit }, userInfo) { //定义 Login 方法，在组件中使用 this.$store.dispatch("Login") 调用
            const username = userInfo.username.trim()
            return new Promise((resolve, reject) => { //封装一个 Promise
                postReply(username, userInfo.password).then(response => { //使用 login 接口进行网络请求
                    commit('') //提交一个 mutation，通知状态改变
                    resolve(response) //将结果封装进 Promise
                }).catch(error => {
                    reject(error)
                })
            })
        },
    }
}
export default user

